import {SpaceId} from '../Types';

export function isMoonSpace(spaceId: SpaceId): boolean {
  return spaceId.startsWith('m');
}

export function isMarsSpace(spaceId: SpaceId): boolean {
  return !isMoonSpace(spaceId);
}

const nameMapping: Partial<Record<SpaceId, string>> = {
  '03': 'A1',
  '04': 'A2',
  '05': 'A3',
  '06': 'A4',
  '07': 'A5',
  '08': 'B1',
  '09': 'B2',
  '10': 'B3',
  '11': 'B4',
  '12': 'B5',
  '13': 'B6',
  '14': 'C1',
  '15': 'C2',
  '16': 'C3',
  '17': 'C4',
  '18': 'C5',
  '19': 'C6',
  '20': 'C7',
  '21': 'D1',
  '22': 'D2',
  '23': 'D3',
  '24': 'D4',
  '25': 'D5',
  '26': 'D6',
  '27': 'D7',
  '28': 'D8',
  '29': 'E1',
  '30': 'E2',
  '31': 'E3',
  '32': 'E4',
  '33': 'E5',
  '34': 'E6',
  '35': 'E7',
  '36': 'E8',
  '37': 'E9',
  '38': 'F1',
  '39': 'F2',
  '40': 'F3',
  '41': 'F4',
  '42': 'F5',
  '43': 'F6',
  '44': 'F7',
  '45': 'F8',
  '46': 'G1',
  '47': 'G2',
  '48': 'G3',
  '49': 'G4',
  '50': 'G5',
  '51': 'G6',
  '52': 'G7',
  '53': 'H1',
  '54': 'H2',
  '55': 'H3',
  '56': 'H4',
  '57': 'H5',
  '58': 'H6',
  '59': 'J1',
  '60': 'J2',
  '61': 'J3',
  '62': 'J4',
  '63': 'J5',
  'm02': 'S1',
  'm03': 'S2',
  'm04': 'S3',
  'm05': 'S4',
  'm06': 'T1',
  'm07': 'T2',
  'm08': 'T3',
  'm09': 'T4',
  'm10': 'T5',
  'm11': 'V1',
  'm12': 'V2',
  'm13': 'V3',
  'm14': 'V4',
  'm15': 'V5',
  'm16': 'V6',
  'm17': 'W1',
  'm18': 'W2',
  'm19': 'W3',
  'm20': 'W4',
  'm21': 'W5',
  'm22': 'X1',
  'm23': 'X2',
  'm24': 'X3',
  'm25': 'X4',
  'm26': 'X5',
  'm27': 'X6',
  'm28': 'Y1',
  'm29': 'Y2',
  'm30': 'Y3',
  'm31': 'Y4',
  'm32': 'Y5',
  'm33': 'Z1',
  'm34': 'Z2',
  'm35': 'Z3',
  'm36': 'Z4',
};

export function getSpaceName(id: SpaceId): string {
  return nameMapping[id] ?? 'n/a';
}
